//LED发光二极管
//头文件:
#include <reg52.h>

//函数声明:
void delay(unsigned char t);    //延时子函数

//数据定义:
code unsigned char tmpled[40]={0X01,0X02,0X04,0X08,0X10,0X20,0X40,0X80,0X81,0X82,
								0X84,0X88,0X90,0XA0,0XC0,0XC1,0XC2,0XC4,0XC8,0XD0,
								0XE0,0XE1,0XE2,0XE4,0XE8,0XF0,0XF1,0XF2,0XF4,0XF8,
								0XF9,0XFA,0XFC,0XFD,0XFE,0XFF,0XFF,0X00,0XFF,0X00};
									//定义数组常量,前面加"code"表示常量在程序代码中存放，
									//不占用RAM。该数组为发光二极管的输出数据

//主函数，C语言的入口函数:	
void main(void)
{
	unsigned char i;				//定义变量
	while(1){						//无限循环
		for(i=0;i<40;i++){			//循环输出40个数据
			P2=~tmpled[i];			//"~"这个符号是取反，因发光二极管采用共阳极，所以将数据取反再输出
			delay(50);				//调用延时子函数，改变参数大小，调整变化速度
		}
	}
}

//延时子函数
void delay(unsigned char t)
{
	unsigned char j;
	while(t--){		
		j=255;
		while(j--); 	    	
	}
}
